
\chapter{铁路客票销售问题建模框架}

票额预分和动态价格问题都属于铁路客票销售问题。本章的研究目的是通过借鉴既有网络收益管理理论，提出一个一般化的铁路客票销售决策问题的建模框架。模型构建的难点在于建模框架需要满足以下两方面要求：(1)能够表达动态的客运需求；(2)能够表达不同客票销售规则。

\section{铁路客票销售问题}

\begin{figure}[H]
\centering \includegraphics[width=1\textwidth,bb = 0 0 200 100, draft, type=eps]{LyX/Fig_2-1.png}
\bicaption[fig:2-1]{铁路客票销售问题示意}{铁路客票销售问题示意}{Fig}{Illustrations
of the concepts in railway revenue management} 
\end{figure}

客票销售的过程可以看做是随着购票交易的发生，存量单位逐步被旅客购买的一个过程。如图\ref{fig:2-1}所示，存量单位被包装为产品，再被销售给旅客。存量单位的种类和数量由铁路企业的时刻表和列车编组计划规定。通常，客票销售的过程是在时刻表和列车编组计划拟定之后开始的。所以存量单位的种类和数量在客票销售的过程中可看做是不变的。客运产品的设计是根据铁路企业的战略决策而制定的，所以在售票期间客运产品的种类也通常也不会改变。

在进入预售期，开放售票之后，旅客可以通过多种方式(网站，手机App和车站公告)获取当前可售的客运产品及价格，并作出购票选择。本文对旅客购票过程进行一些简化：

\textbf{假设1. 不同旅客的购票选择相互独立，每个旅客每次最多购买一张车票}

为简化问题，假设每个旅客的出行都是独立的，不考虑小团体出行(一个旅客买多张车票或者某一位旅客的购票选择取决于另外一位旅客的购票结果)。

\textbf{假设2. 旅客依次进行购票}

铁路客运产品的销售方式和零售行业不同。其中最大的区别在于，零售业的存量单位和产品几乎是一一对应，例如，衬衫的存量单位就无法用于销售面包这件商品。但是铁路行业不同，如图\ref{fig:2-1}所示，列车2的A-B区间的存量单位既可以用于销售A-B的车票，也可以用于销售A-C的车票。所以，旅客是否能够买到车票与他/她购票的先后顺序非常相关。为简化问题，假设所有购买旅客在一个队列中排队购票。

\textbf{假设3. 旅客的购票选择只考虑核心运输服务}

客运产品的核心服务是列车区段和席别，除此之外还包括如专区候车、饮料食品、赠品、电影娱乐等其它附加服务\cite{贺振欢强丽霞-954}。为了简化问题，本文不考虑产品的其它的附加服务的成本以及旅客对这些服务的偏好。

\textbf{假设4. 不考虑旅客处理信息和进行选择的时间}

在实际当中，旅客在查询到列车时刻、产品是否可售、产品价格等信息之后，往往会在不同的产品，甚至是不同交通方式之间选择。或者对于某些休闲旅客来说，他们可能会等待售票参数的调整后再购买车票。为了简化旅客的行为，本文仅仅只考虑旅客开始购票的时间和旅客对不同客运产品的偏好，并认为旅客对信息的处理和产品选择是瞬时的。

\textbf{假设5. 不考虑旅客的改签、退票和超售}

在实际的购票场景中，改签与退票是将已经出售到旅客手中的车票返回为存量单位的操作。为简化问题，本文不考虑任何的改签和退票。另外，铁路行业一般不实行超售策略。所以本文不考虑超售。

在客票销售过程中，铁路企业可以通过改变客运产品的可售性和价格(产品-价格的开放与否)影响购票过程。在第一章中提到，铁路客票销售问题的重点在于找到一个决定产品-价格开放与否的客票销售规则，根据当前的客票销售情况和对客运需求的预测对它进行调整。这些操作是通过客票销售系统实现的。为了进一步简化问题，本文再引入对客票销售系统的假设：

\textbf{假设6. 不考虑客票销售系统调整的时间}

本文把客票销售系统的更新当做是一个瞬时发生的事件，它不会影响旅客的购票选择。

铁路客票销售问题可以表述为：如何确定一个好的客票销售规则以提高客票销售收入。本章将对铁路客票销售问题进行建模，通过数学模型表达客票销售决策、旅客购票过程和旅客行为。本节开始引入符号体系。如无特殊说明，本文用加粗字母表示向量，用大写字母表示随机变量或集合，用大写加粗字母表示矩阵。例如$\boldsymbol{a}$表示向量，$A$表示随机变量或集合或常数，$A(\cdot)$表示函数，$\boldsymbol{A}$表示矩阵。为方便查询，本章使用的符号如表\ref{tab:2-1}所示。

根据上一章的介绍，铁路收益管理的建模主要涉及两个概念：存量单位和产品-价格。所有存量单位的集合用$M$表示，存量单位用$i\in M$索引。存量单位的使用情况用一个0-1向量$\boldsymbol{x}$表示，其中如果一个存量单位$i$没有被使用，记作$x_{i}=0$，反之则是$x_{i}=1$。这里所说的某个存量单位被使用，是指售出了一张占用了此存量单位的车票。

售票工作的重点是决策每一个产品-价格开放与否，令$j$表示一个产品-价格，其价格用$r_{j}$表示。一个产品可能定出多个不同的价格，所以它可能对应多个产品-价格。如果一个产品-价格是可售的，本文称为该产品价格“开放”。产品-价格$j$开放情况用一个0-1向量$\boldsymbol{u}$表示，例如产品-价格$j$开放，记作$u_{j}=1$，反之则是$u_{j}=0$。

\begin{table}[!hpb]
\centering \bicaption[tab:2-1]{符号列表}{符号列表}{Table}{Symbol
list} %
\begin{tabular}{ll}
\hline 
\multicolumn{2}{l}{问题要素}\tabularnewline
\hline 
$J$  & 产品-价格的集合，通过$j\in J$索引\tabularnewline
$r_{j}$  & 产品-价格$j$的售价\tabularnewline
$u_{j}$  & 产品-价格是否可售，如果可售取1，反之取0 \tabularnewline
\hline 
\multicolumn{2}{l}{客票销售决策模型}\tabularnewline
\hline 
$N$  & 售票过程中客票销售决策的阶段数，通过 $n=1,\ldots,N$索引 \tabularnewline
$S_{n}$  & 售票阶段$n$开始时的状态（包括存量单位的使用状况等） \tabularnewline
$a_{n}$  & 售票阶段$n$开始时采取的行动（包括分配票额、投标价格等） \tabularnewline
$R_{n}$  & 售票阶段$n$内取得的售票收入 \tabularnewline
%$r_n^\pi(\boldsymbol{s})$ & 在售票阶段$n$状态为$\boldsymbol{s}$时，采用策略$\pi$的条件下，从阶段$n$到 \\
%& $N$的总收益的期望 \\
${V_{n}}\left(\boldsymbol{s}\right)$  & 在售票阶段$n$状态为$\boldsymbol{s}$时，采用最优控制策略的总收益的期望 \tabularnewline
\hline 
\multicolumn{2}{l}{客票销售过程模型}\tabularnewline
\hline 
$T_{n}$  & 客票销售阶段$n$包含的离散时间段数量，通过 $t=1,\ldots,T_{n}$索引 \tabularnewline
$S_{n}^{t}$  & 客票销售阶段$n$的第$t$个时间段开始时的状态（包括 \tabularnewline
 & 存量单位的使用状况等） \tabularnewline
$U_{n}^{t}$  & 客票销售阶段$n$的第$t$个时间段内各个产品-价格的开闭状态 \tabularnewline
$R_{n}^{t}$  & 客票销售阶段$n$的第$t$个时间段内取得的售票收入 \tabularnewline
\hline 
\multicolumn{2}{l}{旅客行为模型}\tabularnewline
\hline 
$\rho_{n}^{t}$  & 客票销售阶段$n$的第$t$个时间段内一位旅客到达的概率 \tabularnewline
$\lambda_{n,l}^{t}$  & 在客票销售阶段$n$的第$t$个时间段内有一位旅客到达的条件下，\tabularnewline
 & 这位旅客属于子市场$l$的概率 \tabularnewline
${\beta_{j}^{l}}$  & 细分市场 $l$ 对产品-价格 $j$ 的偏好 \tabularnewline
$P_{n,j}^{t}(\boldsymbol{u})$  & 客票销售阶段$n$的第$t$个时间段内，产品开放情况为$\boldsymbol{u}$时，\tabularnewline
 & 产品-价格$j$被售出的概率 \tabularnewline
${P'_{l,j}({\boldsymbol{u}})}$  & 产品-价格开放情况$\boldsymbol{u}$的条件下，细分市场$l$的旅客选择 \tabularnewline
 & 产品-价格$j$的概率\tabularnewline
\hline 
\end{tabular}
\end{table}


\section{客票销售决策模型}

在预售期内，客票销售规则会根据客票销售的实际情况和需求预测进行多次调整，属于序贯决策问题。一次调整中制定的客票销售规则只会影响此次调整到下次调整之间这一段时期的客票销售过程，这种无后效性的决策问题通常可以用马尔科夫决策过程模型表达。按照马尔科夫决策模型的五个要素，客票销售决策模型如下。

\textbf{售票阶段} \ 根据售票参数可以调整的频率（如一周一次，一天一次，或者一小时一次），整个预售期被分为$N$个阶段。在阶段$n$开始时，客票销售人员需要决定销售的控制参数（如不同席别分配的席位数量，投标价格等）。

\textbf{状态} \ 根据对客票销售系统的描述，它记录的状态信息主要是指存量单位的使用情况，即每一个存量单位有没有被使用（已经被销售）。这部分信息来源于票库。但是在采用不同客票销售规则时，状态变量也可以包含与客票销售相关的其它信息，例如某种产品已经售出的数量、通用/通售分组中的余量等。本文一般用随机变量$X_{n}$描述剩余存量单位的状态。预售阶段$n$的状态用随机变量$S_{n}$表示，记为$S_{n}=\left(X_{n},...\right)$。

\textbf{行动} \ 在阶段$n$客票销售决策用$a_{n}$表示。对于具体问题，$a_{n}$可以表示用户制定票额预分方案或者是动
态价格的所有参数。

\textbf{回报} \ 在阶段$n$内的售票收入与三个变量有关：1) 这个阶段开始时的状态 $S_{n}$ ；2) 这个阶段的行动$a_{n}$；以及3)
这个阶段中的售票过程中的旅客的行动（用随机变量$W_{n}$表示）。客票收入用随机变量$R_{n}$表示，它可以显示地由式(\ref{eq:2-1})表示。注意，这里的$W_{n}$是一组随机变量，因为在$n$阶段的客票销售情况是随机的，它由具体的车票销售情况决定。

\begin{equation}
R_{n}=\hat{R}(S_{n},a_{n},W_{n})\label{eq:2-1}
\end{equation}

\textbf{状态转移函数} \ 与客票收入的计算类似，下一个阶段的状态也是与$S_{n}$、$a_{n}$和$W_{n}$有关的随机变量，记为$S_{n+1}$。状态转移函数可以显示地由式(\ref{eq:2-2})表示。其中，$S_{n+1}$的分布律与$W_{n}$有关。

\begin{equation}
S_{n+1}=\hat{S}(S_{n},a_{n},W_{n})\label{eq:2-2}
\end{equation}

\textbf{贝尔曼方程} \
 令${V_{n}}\left(\boldsymbol{s}\right)$表示在售票阶段$n$状态为$\boldsymbol{s}$时，从当前售票阶段到结束售票这段时间内，客票销售总收入期望的最大值。${V_{n}}\left(\boldsymbol{s}\right)$被称为值函数，它可以通过贝尔曼方程递归表示，如式(\ref{eq:2-5})所示。

% 令$r_n^\pi(\boldsymbol{s})$表示在售票阶段$n$状态为$\boldsymbol{s}$时，采用策略$\pi$的条件下，从阶段$n$到$N$的总收益的期望，即：
%\begin{equation}
%r_n^\pi \left( \boldsymbol{s} \right) = \mathbb{E}^\pi \left\{ {\sum\limits_{{n'}=n}^T {{R_n}} \bigg | {{S_{n'}} = \boldsymbol{s}} } \right\} \nonumber。
%\end{equation}
%客票销售决策问题就是找到一个最好的 $\pi$，使得 $r_n^\pi \left( \boldsymbol{s}_n \right)$ 最大。它可以表示为一个最优控制问题。其目标函数如式(\ref{eq:2-4})右边所示。
%\begin{equation}
%{V_n}\left( \boldsymbol{s} \right) = \mathop {\max }\limits_\pi  r_n^\pi \left( \boldsymbol{s} \right) \label{eq:2-4}
%\end{equation}

\begin{equation}
V_{n}\left(\boldsymbol{s}\right)=\max\limits _{a_{n}}\mathbb{E}\left\{ R_{n}|\boldsymbol{s},a_{n})+V_{n+1}\left(S_{n+1}|\boldsymbol{s},a_{n}\right)\right\} \label{eq:2-5}
\end{equation}

%这里省略了$W_{n+1}$。
令$R(S_{n},a_{n})=\mathbb{E}\{\hat{R}(S_{n},a_{n},W_{n})\}$，可写为式(\ref{eq:2-6})。
\begin{equation}
V_{n}\left(\boldsymbol{s}\right)=\max\limits _{a_{n}}\left\{ R(\boldsymbol{s},a_{n})+\mathbb{E}\left[V_{n+1}\left(S_{n+1}|\boldsymbol{s},a_{n}\right)\right]\right\} \label{eq:2-6}
\end{equation}

随机变量$R_{n}$和$S_{n+1}$的分布控制则由席位模式模型和旅客行为模型共同决定。接下来两节将介绍客票销售过程模型和旅客行为模型。

需要特别提出的是，根据客票销售规则调整的频率不同，即客票销售决策中$N$的取值不同，客票销售决策问题可以分为单阶段决策和多阶段决策类型。

（1）单阶段决策问题（本文简称“$N=1$”型问题），即在设置售票参数时不考虑之后还会对其进行调整的问题（从另一个角度理解，可以认为决策者是短视的），此时有$N=1$。这类问题处理较为简单，因为不涉及下一阶段的值函数估计，问题退化为以下形式。

\[
V\left(\boldsymbol{s}\right)=\max_{a}R(\boldsymbol{s},a)
\]

注意，模型的目标函数中$R(\boldsymbol{s},a)$是期望的形式。所示该问题的形式变为了目标函数为期望值的随机规划问题。

（2）多阶段决策问题（本文简称“$N>1$”型问题）在实际中非常普遍。因为往往对客票参数的调整是有计划的。例如，在每天的夜间或者其他旅客购票不活跃的时间进行售票参数的调整。

虽然单阶段决策和多阶段决策问题在问题的形式上都涵盖在本文的建模框架中，但是这两类问题在具体模型的形式上还是有所差异。并且随着客票销售决策频繁的增加直至达到实时调整，解决问题的难点也会发生转移。所以在对模型分析时首先采用客票销售规则调整频率作为区分不同模型的主要特征。

\section{客票销售过程模型}

\label{sec:ticket_sale_process_model}

\subsection{马尔科夫链模型}

根据对客票销售问题的简化，旅客进入售票系统进行购票的过程(本文称为旅客到达过程)是相互独立的，所以可以把旅客的到达看作一个泊松过程。在模型构建中，可以通过伯努利过程近似地表示旅客到达过程。又因为本文忽略了旅客进行选择和售票系统调整的时间，所以两次客票销售规则调整之间的客票销售过程通过马尔科夫链模型(Markov
chain)进行刻画。下面介绍马尔科夫链中的模型要素。

\textbf{时间段} \ 假设某一个售票阶段$n$可以被划分为$T_{n}$若干个足够小的时间段，且每个时间段内至多只有一个旅客到达。这些时间段用$t\in\left[1,T_{n}\right]$索引。注意：为了区别客票销售决策模型和客票销售过程模型，本文把客票销售决策模型的离散的时间翻译为阶段，把客票销售过程中的离散的时间叫做时间段。

\textbf{状态} \ 与客票销售决策模型类似，客票销售过程在预售时间段$t$的初始状态用随机变量$S_{n}^{t}$表示。它同
样包含两部分，客票销售决策中的存量状态$X_{n}^{t}$和其它售票参数状态，记作$S_{n}^{t}=(X_{n}^{t},...)$。此外，每个时
间段还有表示产品-价格开放情况的0-1随机变量$U_{n}^{t}$(其中分量 $U_{n,j}^{t}=1$ 表示产品-价格$j$在时间段$t$开放
，反之关闭)。

在对客票销售决策和对客票销售过程的建模当中，本文都使用了马尔科夫过程作为基础，即都涉及了离散的时间和状态的概念。如图\ref{fig:2-2}所示，客票销售过程模型描述的是客票销售决策模型的状态转移的细节。虽然这两个模型面向的实体不同：客票销售决策是面向客票销售人员的决策，而客票销售过程模型是描述客票销售系统的行为。但是在一个具体问题中，它们刻画的是同一个客票销售系统，所以这两个模型的状态变量应当具有相同形式。

\begin{figure}[htb]
\centering \includegraphics[width=1\textwidth,bb = 0 0 200 100, draft, type=eps]{LyX/Fig_2-2.png}
\bicaption[fig:2-2]{客票销售决策和客票销售过程}{客票销售决策和客票销售过程}{Fig}{Ticket
selling parameter adjustment process and ticket selling process} 
\end{figure}

\textbf{状态转移} \ 产品-价格$j$在时间段$t$且产品-价格开放情况为$U_{n}^{t}$的条件下售出的概率记为
$P_{n,j}^{t}(U_{n}^{t})$，它的具体形式还需要由旅客行为模型决定。对于下一时间段，$X_{n}^{t+1}$的值取决于售出的产品
消耗的存量单位情况，由席位分配规则决定。此外，产品-价格$j$在时间段$t$且产品-价格开放情况$U_{n}^{t}$是受制于系
统状态，记作$U_{n}^{t}=U(S_{n}^{t})$。由于本文不考虑群订，那么状态变化共有$|J|+1$个方向（售出任意一个产品-价格或
者没有任何产品-价格售出）。如果涉及到群订的情况，即一个旅客会购买多张票，这个时候的下一阶段的状态就更加 复杂了。

通过构造客票销售模型，$R_{n}$的取值等于这一阶段的$R_{n}^{t}$的累加，记为： $R_{n}={\sum\limits _{t=1}^{T_{n}}{R_{n}^{t}}\Bigg|S_{n}^{1}=S_{n}}$，而$S_{n+1}$的值等于阶段$n$的最后
一个时间段结束时的状态。定义$S_{n}^{T_{n}+1}$为售票阶段$n$的最后一个时间段结束时的系统状态，则有 $S_{n+1}={S_{n}^{T_{n}+1}}$。随机变量$R_{n}$和$S_{n+1}$的概率分布则可以通过售票过程模型计算，进一步来说，
它们都与$P_{n,j}^{t}(U_{n}^{t})$有关。至此，如果进一步规定了函数$U(S_{n}^{t})$和$P_{n,j}^{t}(U_{n}^{t})$的具体形式，就可以
计算$R_{n}$和$S_{n+1}$的分布。

\subsection{席位分配规则}

在客票销售的某一时间段$t$后，如果旅客已经选择了产品-价格$j$，在确认旅客支付后，客票销售系统需要为旅客生成一张车票。其中，一个关键过程是需要为这张车票分配合理的存量单位。这就是客票销售过程模型中涉及存量单位的状态转移过程，本文称其为席位分配过程。席位分配的具体形式需要根据具体问题而定，因为对于不同的客票销售系统，亦或者是同一个系统出售不同的车票时，席位分配的机制都有可能不同。例如，我国在2018年之前席位分配都是在旅客确定购买车票后由系统分配，期间旅客不能主动的选择座位。之后，客票系统进行了一次升级，允许旅客在最终生成车票之前选择有意向的席位类型（靠窗/靠过道）。

下面用一个小例子来说明席位分配对收益的影响。

\textbf{例2-1. 席位分配规则对收入的影响}

有一列由车站A开往车站F的列车，经停B、C、D、E车站。假设这列车上只有三个座位。有5名旅客需要依次购买车票。假设产品是基于里程定价的（即每一个列车服务区段都有一个固定的与其里程有关的价格，在此情况下，至少每个列车服务区段售出的存量单位数量相同，客票收入就是相同的）。他们依次需要购买A-C，B-F，E-F，C-F，A-E的车票。图\ref{fig:2-3}列举了两种席位分配方式。

\begin{figure}[htb]
\centering \includegraphics[width=1\textwidth,bb = 0 0 200 100, draft, type=eps]{LyX/Fig_2-3.png}
\bicaption[fig:2-3]{例2-1所示的席位分配}{例2-1所示的席位分配}{Fig}{Seat
assignment in Example 2-1} 
\end{figure}

可以看出这两种席位分配方式仅在对第3、4位旅客的席位分配上有区别，但是(a)方案无法为第5位旅客安排席位。虽然在为第4位旅客分配席位之后，(a)方案仍然有足够数量的存量单位，但是不满足席位的连续性要求。

另外，骆泳吉\cite{骆泳吉-118}也指出了席位分配规则的重要性，即便是每个列车-区间剩余的存量数相同，售票的结果也是不同的。根据存量单位的使用状况不同，每列车的存量单位可以分为“连续状态”，“交错状态”，或者是“凸状态”，“非凸状态”。

如果不考虑席位的连续性要求，讨论席位分配规则就没有必要了------因为此时只需要保证列车-区间具有足够的存量单位即可。在针对航空业的很多研究中就可以看到，更多地使用航段-区间（或者在另一些网络收益管理的文献中称为“资源”）来记录系统状态。另外，对于如地铁和城市轨道交通等不涉及对号入座的客运组织形式，也不需要引入存量单位来考虑席位连续性需求。

%从上面的例子来看，席位分配规则仅仅对于最后到达的旅客的购票产生影响。而一列车往往有多个席位（对于一个单列动车组来说，二等座席往往在600左右），可能最后受到影响的旅客数量在所有购票旅客中的占比很小。但是，这是建立在一个比较好的席位分配规则上的。如果旅客可以无限制的随意挑选座位，最坏的情况下，如图\ref{fig:2-6}所示，(4)(5)两位旅客都无法购票。此时，席位分配规则或者是一个旅客对座位的选择模型就是必要的。
%\begin{figure}[htb]
%\centering
%\includegraphics[width=0.5\textwidth]{Fig_2-6.png}
%\bicaption[fig:2-6]{例2-1中最坏席位分配}{例2-1中最坏席位分配}{Fig}{Worst case of seat assignment in Example 2-1}
%\end{figure}

\section{旅客行为模型}

\label{sec:passenger_behavior_model}

在近年来对旅客行为的建模上，旅客偏好的异质性已经成为研究的热点。市场细分是考虑旅客的异质性的一种有效方法。整个客运市场可以被分为多个子市场，在每个子市场中的旅客都被认为具有相同的行为偏好。在对铁路客运市场的研究中，本文使用的是互斥的市场划分，即子市场之间是互斥的，一个旅客不能同时属于两个子市场。市场细分的要素有很多，其中最主要的就是旅客的始发城市和终到城市进行划分。令所有子市场的集合记为$L$，用$l\in L$索引。

旅客行为模型的输出是客票销售过程中的$P_{n,j}^{t}(U_{n}^{t})$，由于它取决于当前时间段内旅客到达的概率和旅客的选择
行为。根据之前的假设，旅客的到达过程是一个泊松过程。在每个时间段内，至多有一个旅客到达，其到达概率与泊松流到 达强度有关。令${\rho_{n}^{t}}$表示在销售阶段$n$时间段$t$内有一位旅客到达的概率。令$\lambda_{n,l}^{t}$表示在销售
阶段$n$时间段$t$内有一位旅客到达的条件下，这位旅客属于子市场$l$的概率。$P_{n,j}^{t}(U_{n}^{t})$可由
式(\ref{eq:2-61})计算得到\footnote{在不引起歧义的情况下，后文中会省略${\rho_{n}^{t}}$和$\lambda_{n,l}^{t}$的下标$n$。}。
其中${P'_{l,j}(U_{n}^{t})}$表示在产品-价格开放情况$U_{n}^{t}$的条件下，子市场$l$的旅客
选择产品-价格$j$的概率。这里假定旅客的对产品-价格的选择偏好不随售票过程的进行而变化。 
\begin{equation}
P_{n,j}^{t}(U_{n}^{t})={\rho_{n}^{t}}\sum\limits _{l\in L}{\lambda_{n,l}^{t}}{P'_{l,j}(U_{n}^{t})}\label{eq:2-61}
\end{equation}

${P'_{l,j}(U_{n}^{t})}$的具体形式由旅客选择模型给出。本文采用多项式Logit模型，对于一个给定的产品-价格开放情况
$\boldsymbol{u}$，旅客选择的概率分布可由式(\ref{eq:2-7})计算。除Logit模型外，还有其它类型的旅客选择模型，
如文献\parencite{TalluriRyzin-414}提到的混合Logit模型或者是文献\parencite{HosseinalifamMarcotte-628}提
到的偏好排序模型。 
\begin{equation}
{P'_{l,j}}\left({\boldsymbol{u}}\right)=\frac{{{u_{j}}\beta_{j}^{l}}}{{\sum\limits _{h\in{J_{l}}}{{u_{h}}\beta_{h}^{l}+\beta_{\emptyset}^{l}}}},\ \ \ \forall l\in L\label{eq:2-7}
\end{equation}

\begin{itemize}
\item ${\beta_{j}^{l}}$ 表示产品 $j$ 对于子市场 $l$ 旅客的效用权重，${\beta_{\emptyset}^{l}}$
表示放弃出行的效用权重。 
\item $J_{l}$ 表示子市场 $l$ 旅客的所有可选产品集合。 
\end{itemize}
式(\ref{eq:2-61})中参数$\boldsymbol{\rho}$ 和 $T$的值可以由需求预测得到。Lee 和 Hersh\cite{LeeHersh-476}提出了一种确定这些参数取值的方法。这里简单介绍基本思路。

在客票销售过程模型中，旅客到达通过伯努利过程近似表示。假设一个售票过程被分为了$T$个足够小时间段，每个时间段内的旅客到达只有两种可能：有一个旅客到达或者没有旅客到达。假设旅客到达的概率为$p$，在整个售票过程中有$k$名旅客到达的概率为$C_{T}^{k}p^{k}(1-p)^{T-k}$。当时间段划分越来越小，即$T\rightarrow\infty$时，令$\rho=Tp$，在整个售票过程中有$k$名旅客到达的概率为：
\begin{align*}
 & \lim_{T\rightarrow\infty}C_{T}^{k}p^{k}(1-p)^{T-k}\\
= & \lim_{T\rightarrow\infty}\frac{T(T-1)\cdots(T-k+1)}{k!}p^{k}(1-p)^{T-k}\\
= & \lim_{T\rightarrow\infty}\frac{T^{k}}{k!}p^{k}(1-p)^{\frac{\rho}{p}-k}\\
= & \lim_{T\rightarrow\infty}\frac{\rho^{k}}{k!}\left[(1-p)^{\frac{1}{-p}}\right]^{-\rho}\frac{1}{(1-p)^{k}}\\
= & \frac{\rho^{k}}{k!}e^{-\rho}.
\end{align*}

此时旅客的到达服从泊松分布，其中旅客到达数量的期望和方差都为$\rho$。假设实际售票中，通过观测得知到达人数的均值为$\hat{\rho}$，根据泊松分流的性质，在$\hat{\rho}/T$的时间长度内，有$k$名旅客到达的概率为：
\[
P(k)=\frac{({\hat{\rho}/T})^{k}}{k!}e^{-{\hat{\rho}/T}}
\]

为了用一个二项分布近似旅客到达过程，时间段数量$T$需要满足下列条件，即到达旅客数大于2的概率需要无穷小的数$\varepsilon$。
\[
1-P(0)-P(1)\le\varepsilon
\]

联立上面两式，根据$\varepsilon$的具体取值，可求得$T$的最小取值。如无特殊说明，本文一般采用$\varepsilon=0.01$。

此外，参数 $\boldsymbol{\lambda}$ 和 $\boldsymbol{\beta}$ 的标定可以参考文献\parencite{VulcanoRatliff-391,JiangChen-398,BaoLiu-37}。

\section{其他建模方式的对比}

客票销售过程通常的建模方式包括独立需求模型(附录\ref{sec:indepent_demand_model})和网络均衡模型(附录\ref{sec:network_flow_model})。本节从对旅客选择行为，旅客数量随机性，旅客到达时间和客票销售规则四个方面对比独立需求模型，网络均衡模型和本文提出的基于马尔科夫链的模型。

独立需求模型是直接忽略旅客选择行为的，它认为每个产品-价格面对的潜在旅客是独立的。这个假设能给模型的形式带来简化，但是与铁路客运行业的基本事实存在非常大的冲突。在一条铁路线路上运营的多列车其能覆盖的OD大部分都是重合的。即便是对于只有一趟车的OD，旅客在席位的选择以及对于价格的弹性并不是固定不变的。网络均衡模型虽然考虑了旅客的选择行为，但是其背后的假设也是与实际有所区别的。在很多均衡问题中都默认假设旅客是理性（或者是有限理性的）且具有完全信息的。然而铁路售票的实际场景多是旅客几乎没有任何关于购票的具体信息：一个旅客既不可能知道列车剩余的存量数量，也不可能具体地知道有多少其它旅客正在或者想要购票，并且知道其它旅客的各种偏好。

独立需求模型和网络均衡模型通过采用服从任一分布的随机变量表示旅客数量的随机性。本文的马尔科夫链模型中通过控制泊松流的强度来控制旅客数量的期望。

旅客的到达时间也是影响售票收入的重要因素之一，在独立需求的模型和网络均衡模型中，旅客是被假设同时到达并且同时做出选择的，即在同一售票阶段内，旅客的先后到达是被忽略的。而基于马尔科夫链的客票销售模型严格的区分了先后到达的旅客，他们面对的产品-价格开闭状态可能是不同的。

采用基于马尔科夫链的客票销售模型最大的特点是能够考虑不同种类的客票销售规则。通过状态转移函数，该模型详细刻画了每个时刻系统状态与开放的产品-价格之间的关系，具有非常高的灵活性。而在独立需求模型中，仅能通过最简单的方式（在产品-价格的销售上限和潜在的旅客人数取最小值）表达客票销售规则，而对于更加复杂的客票销售规则的表达则具有局限性。在网络均衡模型中，客票销售规则需要通过点弧网络表达。史峰等\cite{史峰陈彦-125}就通过构造换乘网络表达了席位共用、复用的机制，然而对于更加复杂的机制，网络均衡模型的适用性并没有得到证明。

总的来说，本文采用的基于马尔科夫链的模型与之前列举的其它售票过程模型相比，它更具动态性和拓展性。售票过程模型的对比见表\ref{tab:2-1}\footnote{从模型原理上来说，网络均衡模型也是可以考虑旅客数量随机性的。但是从本文写作时可考证的研究铁路客运售票过程建模的文献中，并没有发现这一类模型的使用。}
。

\begin{table}[htb]
\centering \bicaption[tab:2-1]{售票过程模型的比较}{售票过程模型的比较}{Table}{Comparison
of different ticket selling process model} %
\begin{tabular}{lllll}
\hline 
模型名称  & 旅客选择  & 旅客数量随机性  & 旅客到达时间  & 客票销售规则 \tabularnewline
\hline 
独立需求模型  & ×  & √  & ×  & 上限式 \tabularnewline
网络均衡模型  & √  & √  & ×  & 上限式 \tabularnewline
马尔科夫链模型  & √  & √  & √  & 不限 \tabularnewline
\hline 
\end{tabular}
\end{table}


\section{模型求解}

\subsection{近似动态规划}

在客票销售决策中，最核心的问题是每一次决策中如何制定最优的行动(票额预分或者是动态价格)。最优行动可以通过求解式(\ref{eq:2-6})得到。

\begin{equation}
a_{n}^{*}\in\arg\max\limits _{a_{n}}\Bigg\{ R(\boldsymbol{s},{a_{n}})+\mathbb{E}\bigg[V_{n+1}\left(S_{n+1}|\boldsymbol{s},a_{n}\right)\bigg]\Bigg\}\label{eq:2-20}
\end{equation}

为了得到最优的行动，在每个客票销售决策过程都需要计算式(\ref{eq:2-20})，其概率形为式(\ref{eq:2-21})。
\begin{equation}
a_{n}^{*}\in\arg\max\limits _{a_{n}}\Bigg\{ R(\boldsymbol{s},{a_{n}})+\sum_{\boldsymbol{s'}\in S}\mathbb{P}(s'|\boldsymbol{s},a_{n})V_{n+1}\left(\boldsymbol{s'}|\boldsymbol{s},a_{n}\right)\Bigg\}\label{eq:2-21}
\end{equation}

求解式(\ref{eq:2-20})需要不断的递归直至求解到第$n=N$阶段的子问题。在实际的问题中，状态空间$S$的规模是巨大的。对于一个100个存量单位的系统，仅考虑其存量单位作为系统状态变量，其可能的状态就有$2^{100}$之多。而对于一列具有5个停站和100个席位的列车来说，需要计算$2^{5\times100\times N}$次值函数，而这种规模的问题对于实际来说还是冰山一角。

然而问题的难度不仅仅是状态的数量巨大，注意在式(\ref{eq:2-20})中，值函数是带有期望形式的。对于每一个阶段，需要计算其所有可能状态的概率才能求得其售票收入的期望。而根据本文的售票过程，每一个阶段内部还包含了一个嵌套的马尔科夫链，也就是说，其内部的状态变量的可能状态也需要被遍历。

另外在一些涉及到复杂的机制的模型中，即便状态的数量足够的小，由于$a_{n}$的维度较高，式(\ref{eq:2-20})是一个复杂的组合优化的问题。对于这样的问题，往往也不太可能通过枚举的方式求解。

以上的这三类困难(巨大的状态空间，状态转移概率的计算，巨大的行动维度)在动态规划的术语当中被称为“维度灾难”(Curse of dimensionality)。在随机控制问题当中这类问题非常普遍，目前尚无法做到精确求解，因此大量的研究的重点都放在近似求解上。

对于式(\ref{eq:2-21})来说，首先$V_{n+1}\left(\boldsymbol{s'}|\boldsymbol{s},a_{n}\right)$的计算是需要递归遍历多次状态空间的。其次，计算$\mathbb{P}(s'|\boldsymbol{s},a_{n}),\forall s'\in S$也需要遍历一次状态空间，这两点在实际问题中都是难以做到的。第三，即使前两个问题能解决，最终求解$a_{n}^{*}$的仍然是一个组合优化问题。

在对近似动态规划的研究中，对于状态空间爆炸的问题，主要有以下的方法近似求解。这里只通过近似动态规划解决客票销售决策问题的一般思路，详细了解近似动态规划可以参考文献\parencite{powell2006approximate,bertsekas1996neuro}。

近似求解问题的主要思想是通过值函数近似来避免递归遍历之后所有状态。具体来说，首先引入近似值函数$\bar{V}_{n}(s)$代替式(\ref{eq:2-21})中的值函数。如果此时(\ref{eq:2-21})可解，那么就能通过求解它得到一个近似的最优策略。但是在本文提出的问题中，由于售票过程较为复杂，计算一步状态转移概率$\mathbb{P}(s'|\boldsymbol{s},a_{n})$同样非常困难。所以本文采用对售票过程中的随机变量（旅客的到达时间、旅客数量和选择行为）进行采样，并通过式(\ref{eq:2-22})近似地计算。令$\hat{\omega}\in\hat{\Omega}^{n}$表示阶段$n$的样本集合。

\begin{equation}
\mathbb{E}\left[V_{n+1}\left(S_{n+1}|s,a_{n}\right)\right]\approx\frac{1}{|{\hat{\Omega}}^{n}|}\sum_{\hat{\omega}\in{\hat{\Omega}}^{n}}\bar{V}_{n+1}\left(S^{M}\left(S_{n},a,W(\hat{\omega})\right)\right)\label{eq:2-22}
\end{equation}

接下来问题的核心就是要找到一个好的近似函数$\bar{V}_{n}\left(s_{n}\right)$，使得通过式(\ref{eq:2-22})求出的决策足够好。

\subsection{值函数近似}

值函数近似是解决复杂动态规划的最有效的方法。令$I$表示列车服务区段的集合，用 $i\in I$索引。那么某个列车服务区段$i$中的存量剩余就是状态的一个特征。令$x_{n,i}$表示售票阶段$n$中列车服务区段$i$的剩余存量，就可以得到一个包含参数$(\boldsymbol{\theta},\boldsymbol{\pi})$的近似值函数：
\[
\bar{V_{n}}\left(S_{n}^{t}\right)={\theta_{n}}+\sum\limits _{i}{{\pi_{n,i}}{x_{n,i}}},\ {\theta_{t}}\ge{0},{\pi_{n,i}}\ge{0}\;%eq:2-24
\]

这个式子是在收益管理的研究中非常普遍的一种近似。文献\parencite{Topaloglu-814,Adelman-496}都使用了这个近似，它有一个直观的理解，那就是$\pi_{n,i}$可以理解为列车服务区段$i$中的每一存量单位的边际成本。第四章就运用了这一近似方法。当然这并不是唯一的近似方法，除此之外，还可以将席位按编号大小分组，每一个分组有不同的边际成本。文献\parencite{MeissnerStrauss-522}采用了这种分组近似的方法。一个分组的示例如下图所示。此时，特征值函数变为列车区段$i$的第$h$个分组中的存量数量。

\begin{figure}[htb]
\centering \includegraphics[width=0.5\textwidth,bb = 0 0 200 100, draft, type=eps]{LyX/Fig_2-7.png}
\bicaption[fig:2-7]{值函数近似示例}{值函数近似示例}{Fig}{An example of
value function approximation} 
\end{figure}

如果按照席位顺序将一列车分为$H$组，那么近似值函数为： 
\[
\bar{V_{n}}\left(S_{n}^{t}\right)={\theta_{n}}+\sum\limits _{i\in I}\sum\limits _{h=1}^{H}{{\pi_{n,i,h}}{x_{n,i,h}}},\ {\theta_{t}}\ge{0},{\pi_{n,i,h}}\ge{0}\;%\label{eq:2-25}
\]

特别的，如果分组的数量等于席位数，那么就相当于独立地考虑每一个存量单位。

值函数近似的方法是求解式(\ref{eq:2-21})的基础，但引入含有参数$(\boldsymbol{\theta},\boldsymbol{\pi})$的近似值函数又会带来新的问题，那就是如何标定这些参数的值。

\subsection{含参值函数的标定}

由于引入了含有参数的近似值函数形式，（近似）求解最优策略的问题就变为了的参数取值问题。这里以一个一般化的近似值函数 $\bar{V_{n}}\left(s\right)=\sum_{f\in\mathcal{F}}\theta_{f}\phi_{f}(s)$
为例(其中$F$为系统的特征集合，$\theta_{f}$是特征权重，$\phi_{f}(s)$是特征值)介绍两类标定参数值的方法。

（1）基于统计学习的方法

基于统计学习的方法的主要思路是通过对客票销售过程进行采样，通过样本替代整体，近似地估计回报和下一售票阶段的状态。令$\Omega$表示所有的样本路径的集合，通过采样得到它的子集$\hat{\Omega}$。通过带入当前策略计算，可以得到对每个样本路径$\hat{\omega}\in\hat{\Omega}$下的值函数的观测值序列$\{\hat{v}_{n}^{\omega}(s)\}$。通过这个观测值，可以采用最小二乘法等回归方法对参数进行估计。下一节会详细介绍如何对客票销售过程进行采样。

为了能找到与值函数的真实值相近的近似函数，每一次在完成参数的标定后，通过参数更新规则更新参数，不断更新$(\boldsymbol{\theta},\boldsymbol{\pi})$的值。这个方法在近似动态规划的理论中被称为近似策略迭代，它将采样、仿真与参数迭代分开进行。与之相对还有近似值函数迭代，这种方法是同时进行遍历样本路径与更新参数。一个基本的近似策略迭代算法如算法\ref{alg:2-2}所示。（这里先混用字母$i,j$作为循环变量）

\begin{algorithm}[htb]
\caption{近似值迭代方法}
\label{alg:2-2} \begin{algorithmic}[1] \STATE 初始化 \\
 (1)选取特征函数$\phi_{f}(s)$。\\
 (2)选取参数$(\boldsymbol{\theta},\boldsymbol{\pi})$的初始值，它们决定了初始策略。 \STATE
对客票销售中的旅客信息进行采样，得到样本路径的观察值$\hat{\Omega}$。 \FOR{$i=0$ to 最大外层迭代数}
\FOR{ $j=1$ to |$\hat{\Omega}|$} \STATE 选取第$j$个样本路径$\omega^{j}$。
\FOR{$n=1$ to $N$} \STATE \textbf{计算当前行动}，即根据此时的策略计算当前的行动$a_{n}^{i,j}$。
\STATE 通过$S_{n}^{i,j},a_{n}^{i,j},\omega^{j}$计算下一个状态$S_{n+1}^{i,j}$。
\ENDFOR \STATE 逆向遍历$n=N,...,1$计算$\hat{v}_{n}^{i,j}$。 \ENDFOR
\STATE \textbf{更新参数}$(\boldsymbol{\theta},\boldsymbol{\pi})$。 \ENDFOR
\STATE 返回$(\boldsymbol{\theta},\boldsymbol{\pi})$的值。 \end{algorithmic} 
\end{algorithm}

上述算法中有两个关键步骤：第一，是计算当前的行动$a_{n}^{i,j}$，它需要求解(\ref{eq:2-26})。在这个式子中运用了式(\ref{eq:2-22})的近似思想。通过样本路径的观测值计算值函数的期望。
\begin{equation}
a_{n}^{i,j}=\underset{a_{n}\in\mathcal{A}_{t}^{i,j}}{\arg\max}\left\{ R\left(S_{n}^{i,j},a_{n}\right)+\frac{1}{|\hat{\Omega}^{n}|}\sum_{\hat{\omega}\in\hat{\Omega}^{n}}\sum_{f}\theta_{n,f}^{i}\phi_{f}\left(S^{M}\left(S_{n}^{i,j},a_{n},\hat{\omega}\right)\right)\right\} \label{eq:2-26}
\end{equation}

第二个关键步骤是更新$(\boldsymbol{\theta},\boldsymbol{\pi})$。假设通过回归得到的参数值为$(\boldsymbol{\theta}^{\text{new}},\boldsymbol{\pi}^{\text{new}})$，可以通过(\ref{eq:2-27})和(\ref{eq:2-28})“平滑地”迭代参数。
\begin{align}
{\boldsymbol{\theta}^{i+1}=\left(1-\frac{1}{i}\right)\cdot\boldsymbol{\theta}^{i}+\frac{1}{i}\cdot\boldsymbol{\theta}^{\text{new}}}\label{eq:2-27}\\
{\boldsymbol{\pi}^{i+1}=\left(1-\frac{1}{i}\right)\cdot\boldsymbol{\pi}^{i}+\frac{1}{i}\cdot\boldsymbol{\pi}^{\text{new}}}\label{eq:2-28}
\end{align}

（2）基于线性规划的方法

标定参数$(\boldsymbol{\theta},\boldsymbol{\pi})$的另一个方法是通过求解一个线性规划问题。由于本文考虑的问题是一个离散状态集合与行动集合的问题。客票销售决策问题被写为一个如下所示的等价的线性规划问题\cite{Puterman1994Markov}。
\begin{align*}
 & \min_{v}v_{1}(s_{1})\\
 & s.t.\\
 & v_{n}(s)\geq R(s,a)+\sum_{s^{\prime}\in\mathcal{S}}p\left(s^{\prime}|s,a\right)v_{n+1}\left(s^{\prime}\right)\quad\forall s\in\mathcal{S},a\in\mathcal{A}(s),\forall n=1,2,...,N
\end{align*}

代入近似函数得： 
\begin{align*}
 & \min_{\theta}\sum_{f\in\mathcal{F}}\theta_{f}\phi_{f}(s)\\
 & s.t.\\
 & \sum_{f\in\mathcal{F}}\theta_{f}\phi_{f}\left(s\right)\geq R(s,a+\gamma\sum_{s^{\prime}\in\mathcal{S}}p\left(s^{\prime}|s,a\right)\sum_{f\in\mathcal{F}}\theta_{f}\phi_{f}\left(s^{\prime}\right)\quad\forall s\in\mathcal{S},a\in\mathcal{A}(s)
\end{align*}

这是一个约束数量为$|\mathcal{S}|\times|\mathcal{A}|$，且决策变量数量为$|\mathcal{S}|\times|\mathcal{F}|$的线性规划问题，通常这一类问题直接求解也是不可能的。但是在特定的近似函数形式下，能够找到很高效的求解方式。

\subsection{客票销售过程采样}

在基于统计学习的求解方法中，由于存在``维数灾难"，后续的系统状态$S^{M}\left(S_{n},a,W(\omega)\right)$通常难以写为解析形式。求解过程中通常采用对样本路径$\Omega$进行先采样再用统计的方法估计$S_{n+1}$(如算法\ref{alg:2-2})。根据\ref{sec:ticket_sale_process_model}节提出的客票销售过程模型和\ref{sec:passenger_behavior_model}节提出的旅客行为模型，客票销售中的随机事件一共可分为三类:

(1)在时间段$t$内是否有旅客到达？

(2)如果有旅客到达，他/她属于哪一个细分市场？

(3)对细分市场$l$的旅客，他/她在选择哪一种客运产品？

对客票销售过程采样就是根据参数$(\boldsymbol{\rho,\lambda,\beta})$生成对以上三种随机事件的观测值。假设在一个售票阶段内，售票过程的时间段数量为$T$。根据假设，旅客的到达过程其实是一个近似泊松过程（$T$次独立伯努利实验，$T$足够多）。为了简化问题，近似泊松流的强度$\rho^{t}$通常被指定一个常数$\rho$或者是随时间的一个阶梯函数。一个旅客到达采样方法如算法\ref{alg:2-1}所示。

\begin{algorithm}[!h]
\caption{旅客到达采样}
\label{alg:2-1} \begin{algorithmic}[1] \STATE 令当前时刻$t=0$，泊松分布的强度为$\rho$；
\REPEAT \STATE 生成$(0,1]$上均匀分布的随机数$U_{1}$，如果$U_{1}\le\frac{\rho}{T}$则表示有一个旅客到达事件发生，并记录此时的$t$；
\STATE $t=t+1$ \UNTIL $t>T$ \end{algorithmic} 
\end{algorithm}

对于每个到达的旅客，再使用轮盘法对其所属市场进行采样：对于到达时间为$t$的旅客，首先根据$\lambda_{l}^{t}$的大小，为每个子市场生成互不嵌套一个范围，记市场$l$的范围$(LB_{l},UB_{l}]$。生成一个$(0,1]$上均匀分布的随机数$U_{2}$。如果$U$的值落在$(LB_{l},UB_{l}]$范围内，就说明该旅客属于市场$l$。如图\ref{fig:2-8}所示，有3个子市场，且某一个旅客属于每个子市场的概率为$\boldsymbol{\lambda}=(0.5,0.2,0.3)$。如果随机数$U_{2}$的采样值为$0.468$，属于市场1的范围$(0,0.5]$，那么旅客属于市场1。

\begin{figure}[htb]
\centering \includegraphics[width=0.5\textwidth,bb = 0 0 200 100, draft, type=eps]{LyX/Fig_2-8.png}
\bicaption[fig:2-8]{轮盘法示例}{轮盘法示例}{Fig}{An example of roulette
method} 
\end{figure}

旅客到达时间和所属市场的采样的结果形成“\textbf{到达列表}”，如表\ref{tab:2-2}所示。

\begin{table}[htb]
\centering \bicaption[tab:2-2]{到达列表示意}{到达列表示意}{Table}{An
example of passenger arrival sequence} %
\begin{tabular}{lll}
\hline 
旅客编号  & 旅客到达时间  & 旅客所属市场 \tabularnewline
\hline 
\#1  & 2019-9-20 15:57:06  & 1 \tabularnewline
\#2  & 2019-9-20 15:58:30  & 3 \tabularnewline
\#3  & 2019-9-20 15:59:43  & 2 \tabularnewline
\#4  & 2019-9-20 16:02:01  & 8 \tabularnewline
\#5  & 2019-9-20 16:05:24  & 3 \tabularnewline
\#6  & ......  & ... \tabularnewline
\hline 
\end{tabular}
\end{table}

在到达列表生成之后，如果具体的问题中采用了旅客的随机选择模型（如前文所示的Logit模型）。那么还需要生成一系列与旅客随机选择有关的随机数。以Logit模型为例，对于每一个到达的旅客，还需要生成一个$(0,1]$上均匀分布的随机数$U_{3}$。在对购票行为的模拟中，如涉及到旅客的选择，同样可以采用轮盘法。只不过在把子市场换为不同的产品-价格。而这个随机数$U_{3}$将会应用到模拟随机选择中。

%\subsubsection{售票过程模拟}
%售票过程的仿真可以看做是一个离散时间事件系统。具体的仿真实现可以采用进程交互法，其中每一个旅客都有其自己的事件列表。
%当一个旅客到达，他首先会查询当前可售的产品。售票系统通过访问存量信息和控制参数，向其返回开放的产品-价格信息。然后，旅客做出购票选择，如果旅客选择了一个产品-价格，他会向售票系统发送购票请求，售票系统处理此请求并分配席位；或者旅客放弃出行直接退出系统。图\ref{fig:2-9}展示了本文对售票过程模拟的基本流程。
%\begin{figure}[htb]
%\centering
%\includegraphics[width=\textwidth]{Fig_2-9.png}
%\bicaption[fig:2-9]{售票过程仿真示意图}{售票过程仿真示意图}{Fig}{Illustration of ticket selling simulation}
%\end{figure}

\section{本章小结}

本章围绕铁路收益管理的核心问题建立了数学模型。针对铁路客票销售中序贯决策问题建立了客票销售决策模型；为了评估不同客票销售规则的影响引入了售票过程模型；为了考虑旅客的购票时间和选择偏好应用了旅客选择模型。通过结合这三个模型得到了铁路客票销售问题的建模框架。其中，客票销售决策模型向售票过程模型传递客票销售参数$\theta$(依据客票销售规则在具体问题中可以表示客票销售的上限，投标价格等)；售票过程模型则决定了客票销售决策模型中的值函数。旅客行为模型决定了售票过程模型中的状态转移。

本章提出的建模框架是以动态的、随机的视角去看铁路售票的过程，能够精确的表达客票销售规则。然而相比于传统模型，本章提出的建模框架求解更加困难(由于“维数灾难”的存在)。所以本章还简单介绍了近似动态规划的求解思想。接下来的章节会具体的应用这一求解方法到实际问题中。
